%matplotlib inline
# OPTIONAL: Load the "autoreload" extension so that code can change
%load_ext autoreload
# OPTIONAL: always reload modules so that as you change code in src, it gets loaded
%autoreload 2

Please enter a brief description of the model, considering that more detailed information will be entered in the following sections
import pandas as pd
input_parameters = pd.read_csv('../data/processed/cultural-e-input.csv')
Please enter the following general information related to the building
| Field | Value |
|---|---|
| Type of building | - |
| Location | - |
| Number of thermal zones | - |
| Photovoltaic system | - |
| Technology installed | - |
| Position [façade or roof] | - |
| Azimuth [°] | - |
| Space for additional information/system | - |
| Quantity | ID |
|---|---|
| Gross floor area [m2] | IN_GFA |
| Net floor area [m2] | IN_NIA |
| S/V ratio | IN_SV |
| PV capacity [kWp] | IN_PV_kWp |
| PV area [m2] | IN_A_PV |
| Battery capacity [kWh] | IN_PV_bat |
| Tilt angle [°] | IN_PV_Tilt |
input_parameters[[
'IN_GFA', 'IN_NIA', 'IN_SV', 'IN_A_PV', 'IN_PV_bat',
'IN_PV_Tilt'
]]
Please fill in this table for the information related to the thermal zones. This information must be provided for each thermal zone.
| Field | Value |
|---|---|
| Thermal zone | |
| Main exposure | |
| Presence of ceiling fan (yes/no) | |
| People density [pers/m²] | |
| Lighting density [W/m²] | |
| Electric equipment [W/m²] | |
| Heating setpoint temperature [°C] | |
| Heating system limited or unlimited | |
| Cooling setpoint temperature [°C] | |
| Cooling system (limited or unlimited) | |
| Natural ventilation rates [ACH] | |
| Infiltration rates [ACH] | |
| Mechanical ventilation typology (centralized/decentralized) | |
| Mechanical ventilation [ACH] | |
| Heat recovery efficiency [%] | |
| HVAC system | |
| Space for additional information/system |
| Quantity | ID |
|---|---|
| Floor area [m2] | IN_A_F0dayAx |
| Volume [m3] | IN_V_F0dayAx |
| Glazed area [m2] | IN_WinA_F0dayAx |
| WWR [%] | IN_WWR_F0dayAx |
| Heating system power (in case of limited) [kW] | IN_QHEAT_F0dayAx |
| Cooling system power (in case of limited) [kW] | IN_QCOOL_F0dayAx |
input_parameters[[
'IN_A_FdayAx',
'IN_V_FdayAx',
'IN_WinA_FdayAx',
'IN_WWR_FdayAx',
#'IN_QHEAT_F0dayAx,'
#'IN_QCOOL_F0dayAx,'
]]
Please fill in this table with the general information required on the internal gains.
| Quantity | ID |
|---|---|
| Convective fraction of sensible heat gains from persons | IN_IG_CONVPER |
| Convective fraction of sensible heat gains from electric equipment. | IN_IG_CONVAPL |
| Convective fraction of sensible heat gains from lighting. | IN_IG_CONVLGT |
| Sensible heat gain per person (active) [W/pers] | IN_IG_PER_S1 |
| Sensible heat gain per person (sleeping) [W/pers] | IN_IG_PER_S0 |
| Latent heat gain per person (active) [kg/s/pers] | IN_IG_LATPER_S1 |
| Latent heat gain per person (sleeping) [kg/s/pers] | IN_IG_LATPER_S0 |
| Appliances consumption (in use) [W/m²] | IN_IG_APL_S1 |
| Appliances consumption (standby) [W/m²] | IN_IG_APL_S0 |
| Lighting consumption [W/m²] | IN_IG_LGT |
input_parameters[[
'IN_IG_CONVPER',
'IN_IG_CONVAPL',
'IN_IG_CONVLGT',
'IN_IG_PER_S1',
#'IN_IG_PER_S0',
'IN_IG_LATPER_S1',
#'IN_IG_LATPER_S0',
'IN_IG_APL_S1',
#'IN_IG_APL_S0',
#'IN_IG_LGT'
]]
Please consider adding the heating setpoint schedule chart.
Please consider adding the cooling setpoint schedule chart.
Please consider adding the occupancy schedule chart.
Please consider adding the lighting schedule chart.
Please consider adding the appliances schedule chart.
Using the following sintax:

Please fill in the following table with the information related to the opaque envelope components. Please enter manually the entire table except for the section “U-value [W/m²K]”
| Building element | Layers | (I – O) | Thickness (m) | Thermal Conductivity [W/mK] | Density [kg/m3] | Thermal Capacity [J/kgK] |
|---|---|---|---|---|---|---|
| External wall | ||||||
| Adjacent wall | ||||||
| Boundary wall | ||||||
| Roof | ||||||
| Ceiling/Interior floor | ||||||
| Ground floor |
input_parameters[[
'IN_U_EXT_WALL',
'IN_U_ADJ_WALL',
'IN_U_BND_WALL',
'IN_U_ROOF',
'IN_U_FLOOR',
'IN_U_GDFLOOR',
]]
For each thermal zone, please fill in the following tables with the information related to the glazed envelope components. In addition, if there are different windows in your thermal zone, please fill in for each window typology.
| Field | Value |
|---|---|
| Reference thermal zone [ID] | |
| Typology and layer description | |
| Orientation | |
| Manual or automated windows | |
| If automated windows | |
| Frame dimensions [m x m] | |
| Space for additional information | |
| Presence of shading (yes/no) | |
| Typology of shading | |
| Application of shading (external or internal) | |
| Slat angle | |
| Manual or automated shading | |
| Additional shading elements (balcony…) | |
| Space for additional information |
input_parameters[[
#'IN_WinAx_F0dayAx',
#'IN_Ugx_F0dayAx',
#'IN_Gx_value_F0dayAx',
#'IN_Ux_F0dayAx',
]]
| No. strategy | Signal/parameter | Logic function |
|---|---|---|
| 1 | ||
| No. |
| No. strategy | Signal/parameter | Logic function |
|---|---|---|
| 1 | ||
| No. |
from pvlib.iotools import read_epw
weather, meta = read_epw('../data/processed/meteo.epw')
#weather.head()
summary = pd.read_csv('../data/processed/summary.csv')
#summary.head()
energy_zones = pd.read_csv('../data/processed/energy_zones.csv')
#energy_zones.head()
cultural_e = pd.read_csv('../data/processed/cultural-e.csv')
#cultural_e.head()
The weather conditions of a location play an important role in the energy performance of a building. In the next subsections, some results in terms of outdoor air temperature, global horizontal irradiance, and relative humidity, are presented.
from src.visualization import visualize as viz
viz.air_temperature(weather)
| - | - |
|---|---|
| Description of the graph | Hourly dry-bulb temperature distribution and the cumulative frequency of a standard year. |
| Interpretation of results | [Please enter manually this field] |
viz.relative_humidity(weather)
| - | - |
|---|---|
| Description of the graph | Hourly relative humidity distribution of a standard year. |
| Interpretation of results | [Please enter manually this field] |
viz.horizontal_irradiance(weather)
| - | - |
|---|---|
| Description of the graph | Hourly global horizontal radiation distributions and the cumulative frequency of a standard year. |
| Interpretation of results | [Please enter manually this field] |
This section shows the main results in terms of energy balance of the building, energy consumption considering the total energy use of the house and overall heating load considering an ideal heating and/or cooling system. It also gives information on the use of renewable energy in case a photovoltaic system has been installed in the building.
for zone in ['1', '2', '3', '4', '5']:
viz.zone_energy_balance(energy_zones, zone)
| - | - |
|---|---|
| Description of the graph | Monthly energy balance of each thermal zone. The heat balance of the building consists of all sources and sinks of energy inside a building and the energy flows through its envelope. It should be always close to 0 since the building is losing as much heat as it gains. |
| Interpretation of results | [Please enter manually this field] |
viz.energy_balance(summary)
| - | - |
|---|---|
| Description of the graph | Annual thermal balance split for all zones. The heat balance of the building consists of all sources and sinks of energy inside a building and the energy flows through its envelope. It should be always close to 0 since the building is losing as much heat as it gains. |
| Interpretation of results | [Please enter manually this field] |
viz.monthly_consumption(cultural_e)
| - | - |
|---|---|
| Description of the graph | Monthly building energy consumption. |
| Interpretation of results | [Please enter manually this field] |
viz.self_production_consumption(cultural_e)
| - | - |
|---|---|
| Description of the graph | Self-consumption and self-sufficiency indictors. While the self-consumption is the share of the total produced electricity that is self-consumed by the building owner, self-sufficiency represent the share of the building electric demand, covered by electricity that is produced by PV and self-consumed. |
| Interpretation of results | [Please enter manually this field] |
viz.heating_loads(cultural_e)
| - | - |
|---|---|
| Description of the graph | Cumulative curve of the heating power of the entire building. The heating system is modelled as an ideal system with infinite heating capacity that supplies conditioned air to the zone meeting all the load requirements and consuming no energy. This allows to calculate overall heating load. |
| Interpretation of results | [Please enter manually this field] |
viz.cooling_loads(cultural_e)
| - | - |
|---|---|
| Description of the graph | Cumulative curve of the cooling power of the entire building. The cooling system is modelled as an ideal system with infinite cooling capacity that supplies conditioned air to the zone meeting all the load requirements and consuming no energy. This allows to calculate overall heating load. |
| Interpretation of results | [Please enter manually this field] |
This section has been organized to show the main results in terms of thermal comfort, visual comfort and IAQ. For each group of output, you will be asked to enter the results for each thermal zone. If you think it is useful to assess the comfort in only some areas of the building or only in one, enter the results only for those useful for your evaluation.
viz.airt_heatmap(cultural_e, 'F1dayA')
| - | - |
|---|---|
| Description of the graph | Hourly mapping of internal temperatures. It could be useful to know any areas of thermal discomfort. |
| Interpretation of results | [Please enter manually this field] |
viz.psychrochart(cultural_e.sample(n=1000), 'F1dayA', weather.sample(n=1000)).get_figure()
| - | - |
|---|---|
| Description of the graph | The graph illustrates the distribution of simulated indoor temperature and relative humidity with respect to the two internal thermal condition comfort zones, one for the summer season (in light yellow) and one for the winter season (in light blue). The graph also highlights the outdoor temperature and humidity limits for which the application of some passive control systems can ensure summer comfort conditions without applying air conditioning systems. |
| Interpretation of results | [Please enter manually this field] |
In order to assess the air quality of the building during the occupied time, considering the people as one of the main pollution sources, the level of the CO2 concentration generated by the occupants, need to be calculated. The limits for indoor CO2 concentrations leading to the four IAQ categories have been calculated in accordance with the standard EN 16798-1: 2019.
viz.iaq_co2(cultural_e, ['F1dayA'], ['F1nightA1', 'F1nightA2'])
| - | - |
|---|---|
| Description of the graph | Comparison of the zones in terms of indoor air quality. The graph indicates the percentage of hours in which the CO2 concentration is in the four categories in accordance with EN 16798-1: 2019. |
| Interpretation of results | [Please enter manually this field] |
Another necessary parameter to evaluate the internal comfort of a building is the indoor relative humidity. This is important because high or low percentages lead to humid or dry environment, respectively, which has a direct effect on human well-being. An effective way to evaluate this data is to classify the number of hours in which the relative humidity of a thermal zone falls within the categories for humidification and dehumidification, identified in standard EN 16798-1: 2019.
viz.relh(cultural_e, ['RELHUM_F1dayA', 'RELHUM_F1nightA1', 'RELHUM_F1nightA2'], ['OCC_F1dayA', 'OCC_F1nightA1', 'OCC_F1nightA2'])
| - | - |
|---|---|
| Description of the graph | Number of hours within occupied time, when indoor relative humidity of the thermal zones, is within the categories for humidification and dehumidification, identified in standard EN 16798-1: 2019. |
| Interpretation of results | [Please enter manually this field] |
The frequency of opening the windows can be considered an interesting indicator in the evaluation of some aspects related to the performance of the building. thanks to this result it is possible to evaluate, for example, whether the action of natural ventilation alone can guarantee an acceptable level of internal comfort, whether it affects the energy consumption of the building as well as giving indications on how the occupants interact with the building.
viz.win_heatmap(cultural_e, 'F1dayA')
| - | - |
|---|---|
| Description of the graph | Numbers of hours in which natural ventilation is used. |
| Interpretation of results | [Please enter manually this field] |
viz.shd_heatmap(cultural_e, 'F1dayA')
| - | - |
|---|---|
| Description of the graph | Numbers of hours in which the shadings are used. |
| Interpretation of results | [Please enter manually this field] |